// 查询页面（首页）
const store = {
    state: {
        pageType: 'default', // 是否查询码页面(defaule: 默认，code: 查询码)
        checkCode: [], // 查询码
        devicesList: [
            // {
            //     deviceId: "90:E2:02:12:78:47", // 设备蓝牙ID
            //     mid: "910007201", // 设备ID
            //     batteryVal: 100, // 电量
            //     RSSI: -89, // 信号
            //     state: '0', // 状态(0：已配置；1：未配置)
            //     nowtempTime: '2021-01-17 18:05:06',
            //     nowTemplate: 15.6,
            //     recordTime: '2021-01-17 18:05:06' // 本次记录时间
            // }, {
            //     deviceId: "90:E2:02:12:78:48", // 设备蓝牙ID
            //     mid: "910007202", // 设备ID
            //     batteryVal: 20, // 电量
            //     RSSI: -65, // 信号
            //     state: '0', // 状态(0：已配置；1：未配置)
            //     nowTemplate: 16.6,
            //     nowtempTime: '2021-01-17 18:05:06',
            //     recordTime: '2021-01-17 18:05:06' // 本次记录时间
            // }
        ], // 查询数据，无查询码
        codeDeviceList: [], // 查询数据，有查询码
        // 读取状态 (0: 初始化, 1.发送读取配置命令 2.接收到ACK,等待config数据 3.数据接收完成,发送ACK 4.发送ACK成功，发送读取记录命令 5.接收ACK，等待data数据 6.一次记录包接收完成
        readState: 0
    },
    mutations: {
        // 设置页面类型
        SET_PAGE_TYPE(state, type) {
            state.pageType = type
        },
        // 设置查询码
        SET_CHECK_CODE(state, arr) {
            state.checkCode = arr
        },
        // 设置设备列表
        SET_DEVICES_LIST(state, data) {
            state.devicesList.push(data)
        },
        // 设备列表更新
        UP_DEVICES_LIST(state, data) {
            console.log('更新')
        },
        // 设置有查询码的数据的查询码子级
        SET_CODE_DATA(state, arr) {
            state.codeDeviceList = arr
        },
        // 设置有查询码的设备列表
        SET_CODE_DEVICE_LIST(state, data) {

        },
        // 更新有查询码的设备列表
        UP_CODE_DEVEICE_LIST(state, data) {
            // state.codeDeviceList[index].data[index2]
        },
        // 设置读取状态
        SET_READ_STATE(state, value) {
            state.readState = value
        }
    },
    actions: {
        // 设置无查询码数据
        set_devicesList({ commit, state }, data) {
            const list = state.devicesList
            if (!list.length) {
                commit('SET_DEVICES_LIST', data)
            } else {
                const has = list.filter(item => item.deviceId == data.deviceId)
                if (has.length) {
                    commit('UP_DEVICES_LIST', data)
                } else {
                    commit('SET_DEVICES_LIST', data)
                }
            }
        },
        // 设置有查询码数据
        set_codeDevicesList({ commit, state }, data) {
            const codeList = state.codeDeviceList
            if(!codeList.length) {
                console.log('设置错误')
                return false
            }
            // 当前的index
            const index = codeList.findIndex(item => item.code == data.customCheckID)
            if(!codeList[index].data || !codeList[index].data.length) {
                // 新增
            } else {
                // 更新
            }
        },
        // 查询的结果
        read_searchRes({ state, dispatch }, data) {
            const pageType = state.pageType
            // 普通页面
            if (pageType == 'default') {
                if(data.customId) return
                dispatch('set_devicesList', data)
            } else {
                dispatch('set_codeDevicesList', data)
            }
        }
    }
}

export default store